/*WEBAPP*/
/* =========================
   RESET
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins', sans-serif;
}

body{
    background:#F8F3EA;
    min-height:100vh;
    color:#2A1245;
}

/* =========================
   HOME
========================= */

.hero{

    min-height:100vh;

    background:
    linear-gradient(
        135deg,
        #5E17EB 0%,
        #7B2CFF 100%
    );

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    text-align:center;

    padding:40px 25px;

    color:white;

    position:relative;

    overflow:hidden;
}

/* interrogación decorativa */

.hero::before{

    content:"?";

    position:absolute;

    font-size:220px;

    font-weight:900;

    color:rgba(255,255,255,.08);

    right:-30px;

    top:-20px;
}

.logo{

    background:white;

    color:#5E17EB;

    width:90px;
    height:90px;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    font-size:2.5rem;

    margin-bottom:25px;

    box-shadow:
    8px 8px 0 #F7FF57;
}

.hero h1{

    font-size:4rem;

    line-height:0.95;

    font-weight:900;

    margin-bottom:20px;

    text-shadow:
    4px 4px 0 rgba(0,0,0,.12);
}

.hero p{

    font-size:1.2rem;

    max-width:500px;

    margin-bottom:40px;

    line-height:1.6;
}

/* sticker */

.hero-tag{

    background:#F7FF57;

    color:#000;

    padding:12px 22px;

    border-radius:50px;

    font-weight:700;

    margin-bottom:25px;

    transform:rotate(-2deg);
}

/* =========================
   BOTONES
========================= */

.btn{

    display:inline-block;

    background:#F7FF57;

    color:#000;

    text-decoration:none;

    padding:16px 40px;

    border-radius:999px;

    font-weight:800;

    border:none;

    cursor:pointer;

    box-shadow:
    5px 5px 0 #2A1245;

    transition:.3s;
}

.btn:hover{

    transform:translateY(-3px);

    box-shadow:
    7px 7px 0 #2A1245;
}

/* =========================
   CONTENIDO
========================= */

.pantalla{

    max-width:700px;

    margin:auto;

    padding:40px 20px 120px;
}

.pantalla h2{

    color:#5E17EB;

    font-size:2rem;

    margin-bottom:15px;
}

.card-list{

    margin-top:30px;
}

/* =========================
   TARJETAS
========================= */

.card{

    display:block;

    background:white;

    margin-bottom:18px;

    padding:22px;

    border-radius:25px;

    text-decoration:none;

    color:#2A1245;

    border:3px solid transparent;

    box-shadow:
    6px 6px 0 rgba(94,23,235,.15);

    transition:.3s;
}

.card:hover{

    transform:translateY(-4px);

    border-color:#F7FF57;
}

.card strong{
    color:#5E17EB;
}

/* =========================
   RESPUESTA LEGAL
========================= */

.respuesta{

    background:#5E17EB;

    color:white;

    padding:30px;

    border-radius:30px;

    box-shadow:
    8px 8px 0 rgba(42,18,69,.2);
}

.badge{

    display:inline-block;

    margin-top:15px;

    background:#F7FF57;

    color:#000;

    padding:10px 20px;

    border-radius:999px;

    font-weight:700;
}

.papel{

    background:white;

    padding:30px;

    border-radius:25px;

    margin:20px 0;

    box-shadow:
    6px 6px 0 rgba(94,23,235,.12);
}

.papel h3{

    color:#5E17EB;

    margin-bottom:10px;
}

.derechos{

    background:#EEE4FF;

    border-radius:25px;

    padding:25px;

    margin-bottom:25px;
}

.derechos h4{

    color:#5E17EB;

    margin-bottom:12px;
}

/* =========================
   NAVEGACIÓN APP
========================= */

.mobile-nav{

    position:fixed;

    bottom:0;

    left:0;

    width:100%;

    background:#2A1245;

    display:flex;

    justify-content:space-around;

    align-items:center;

    padding:15px;

    border-top:4px solid #F7FF57;
}

.mobile-nav a{

    color:white;

    text-decoration:none;

    font-size:1.4rem;

    transition:.3s;
}

.mobile-nav a:hover{

    color:#F7FF57;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:768px){

    .hero h1{
        font-size:3rem;
    }

    .hero p{
        font-size:1rem;
    }

    .pantalla h2{
        font-size:1.6rem;
    }
}

/* ===================================
   SITUACIONES LABORALES
=================================== */

.situaciones-header{

    background:linear-gradient(
        135deg,
        #5E17EB,
        #8B2FFF
    );

    color:white;

    padding:60px 25px 40px;

    text-align:center;

    position:relative;

    overflow:hidden;
}

.situaciones-header::before{

    content:"?";

    position:absolute;

    top:-30px;
    right:-20px;

    font-size:180px;

    font-weight:900;

    color:rgba(255,255,255,.08);
}

.situaciones-tag{

    display:inline-block;

    background:#F7FF57;

    color:#000;

    padding:10px 18px;

    border-radius:999px;

    font-weight:700;

    margin-bottom:20px;

    transform:rotate(-2deg);
}

.situaciones-header h1{

    font-size:2.5rem;

    font-weight:900;

    margin-bottom:15px;
}

.situaciones-header p{

    max-width:300px;

    margin:auto;

    line-height:1.5;
}

.situaciones-container{

    padding:30px 20px 120px;
}

.situaciones-list{

    display:flex;

    flex-direction:column;

    gap:18px;
}

.situacion-card{

    display:flex;

    align-items:center;

    gap:18px;

    background:white;

    padding:22px;

    border-radius:25px;

    text-decoration:none;

    color:#2A1245;

    box-shadow:
        6px 6px 0 rgba(94,23,235,.12);

    transition:.3s;
}

.situacion-card:hover{

    transform:translateY(-4px);

    box-shadow:
        8px 8px 0 rgba(94,23,235,.18);
}

.situacion-icono{

    width:60px;
    height:60px;

    border-radius:18px;

    background:#F7FF57;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:1.8rem;

    flex-shrink:0;
}

.situacion-info h3{

    color:#5E17EB;

    margin-bottom:5px;

    font-size:1.1rem;
}

.situacion-info p{

    color:#666;

    font-size:.9rem;

    line-height:1.4;
}

/* ===================================
   PANTALLA ¿ES LEGAL?
=================================== */

.legal-header{

    background:linear-gradient(
        135deg,
        #5E17EB,
        #8B2FFF
    );

    color:white;

    text-align:center;

    padding:60px 25px 40px;

    position:relative;

    overflow:hidden;
}

.legal-header::before{

    content:"!";

    position:absolute;

    right:-15px;
    top:-20px;

    font-size:180px;

    font-weight:900;

    color:rgba(255,255,255,.08);
}

.legal-tag{

    display:inline-block;

    background:#F7FF57;

    color:#000;

    padding:10px 18px;

    border-radius:999px;

    font-weight:700;

    margin-bottom:20px;

    transform:rotate(-2deg);
}

.legal-header h1{

    font-size:2.6rem;

    font-weight:900;
}

.legal-container{

    padding:25px 20px 120px;
}

.legal-card{

    background:white;

    border-radius:30px;

    padding:30px;

    text-align:center;

    margin-bottom:20px;

    box-shadow:
    6px 6px 0 rgba(94,23,235,.12);
}

.legal-icon{

    width:70px;
    height:70px;

    margin:auto;

    margin-bottom:15px;

    border-radius:20px;

    background:#F7FF57;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:2rem;
}

.legal-card h2{

    color:#2A1245;

    font-size:1.4rem;

    margin-bottom:15px;
}

.legal-status{

    display:inline-block;

    background:#FF68A5;

    color:white;

    padding:10px 22px;

    border-radius:999px;

    font-weight:700;
}

.legal-info-card{

    background:white;

    border-radius:25px;

    padding:25px;

    margin-bottom:20px;

    box-shadow:
    6px 6px 0 rgba(94,23,235,.12);
}

.legal-info-card h3{

    color:#5E17EB;

    margin-bottom:10px;
}

.legal-rights{

    background:#EEE4FF;

    padding:25px;

    border-radius:25px;

    margin-bottom:20px;
}

.legal-rights h3{

    color:#5E17EB;

    margin-bottom:15px;
}

.legal-rights ul{

    padding-left:20px;
}

.legal-rights li{

    margin-bottom:10px;
}

.legal-tip{

    background:#F7FF57;

    color:#2A1245;

    padding:20px;

    border-radius:20px;

    margin-bottom:25px;

    font-weight:600;

    box-shadow:
    5px 5px 0 rgba(42,18,69,.12);
}

/*EVIDENCIA*/
/* ===================================
   EVIDENCIAS
=================================== */

.evidencia-header{

    background:linear-gradient(
        135deg,
        #5E17EB,
        #8B2FFF
    );

    color:white;

    text-align:center;

    padding:60px 25px 40px;

    position:relative;

    overflow:hidden;
}

.evidencia-header::before{

    content:"📂";

    position:absolute;

    right:-10px;
    top:-10px;

    font-size:120px;

    opacity:.08;
}

.evidencia-tag{

    display:inline-block;

    background:#F7FF57;

    color:#000;

    padding:10px 18px;

    border-radius:999px;

    font-weight:700;

    margin-bottom:20px;

    transform:rotate(-2deg);
}

.evidencia-header h1{

    font-size:2.6rem;

    font-weight:900;

    margin-bottom:15px;
}

.evidencia-container{

    padding:25px 20px 120px;
}

/* TARJETA SUBIDA */

.upload-card{

    background:white;

    border-radius:30px;

    padding:30px;

    text-align:center;

    margin-bottom:20px;

    box-shadow:
    6px 6px 0 rgba(94,23,235,.12);
}

.upload-icon{

    width:80px;
    height:80px;

    margin:auto;

    margin-bottom:15px;

    border-radius:20px;

    background:#F7FF57;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:2rem;
}

.upload-card h2{

    color:#5E17EB;

    margin-bottom:10px;
}

.upload-card p{

    color:#666;

    margin-bottom:20px;
}

/* INPUT FILE */

.upload-card input[type=file]{

    width:100%;

    padding:12px;
}

/* FORM */

.evidencia-form{

    background:white;

    border-radius:25px;

    padding:25px;

    margin-bottom:20px;

    box-shadow:
    6px 6px 0 rgba(94,23,235,.12);
}

.evidencia-form h3{

    color:#5E17EB;

    margin-bottom:10px;

    margin-top:10px;
}

.evidencia-form textarea{

    width:100%;

    min-height:120px;

    border:2px solid #EEE4FF;

    border-radius:15px;

    padding:15px;

    resize:none;

    margin-bottom:15px;
}

.date-input{

    width:100%;

    margin-bottom:20px;
}

/* LISTADO */

.evidencias-guardadas{

    background:#EEE4FF;

    border-radius:25px;

    padding:25px;
}

.evidencias-guardadas h3{

    color:#5E17EB;

    margin-bottom:20px;
}

.evidencia-item{

    display:flex;

    align-items:center;

    gap:15px;

    background:white;

    padding:15px;

    border-radius:20px;

    margin-bottom:15px;
}

.item-icon{

    width:50px;
    height:50px;

    background:#F7FF57;

    border-radius:15px;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:1.4rem;
}

.evidencia-item h4{

    color:#2A1245;

    margin-bottom:3px;
}

.evidencia-item p{

    color:#777;

    font-size:.85rem;
}

/*PERFIL*/
/* ===================================
   PERFIL
=================================== */

.perfil-header{

    background:linear-gradient(
        135deg,
        #5E17EB,
        #8B2FFF
    );

    color:white;

    text-align:center;

    padding:60px 25px 40px;

    position:relative;

    overflow:hidden;
}

.perfil-header::before{

    content:"👤";

    position:absolute;

    right:-10px;
    top:-10px;

    font-size:120px;

    opacity:.08;
}

.perfil-tag{

    display:inline-block;

    background:#F7FF57;

    color:#000;

    padding:10px 18px;

    border-radius:999px;

    font-weight:700;

    margin-bottom:20px;

    transform:rotate(-2deg);
}

.perfil-header h1{

    font-size:2.6rem;

    font-weight:900;
}

.perfil-container{

    padding:25px 20px 120px;
}

/* TARJETA USUARIO */

.perfil-card{

    background:white;

    border-radius:30px;

    padding:30px;

    text-align:center;

    margin-bottom:20px;

    box-shadow:
    6px 6px 0 rgba(94,23,235,.12);
}

.perfil-avatar{

    width:140px;
    height:140px;

    margin:auto;

    margin-bottom:20px;

    border-radius:50%;

    overflow:hidden;

    border:6px solid white;

    box-shadow:
        0 0 0 6px #F7FF57,
        0 10px 25px rgba(94,23,235,.18);
}

.perfil-avatar img{

    width:100%;
    height:100%;

    object-fit:cover;

    display:block;
}

.perfil-card h2{

    color:#2A1245;

    margin-bottom:8px;
}

.perfil-card p{

    color:#666;
}

/* ESTADÍSTICAS */

.stats-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:15px;

    margin-bottom:20px;
}

.stat-card{

    background:white;

    padding:20px;

    border-radius:25px;

    text-align:center;

    box-shadow:
    6px 6px 0 rgba(94,23,235,.12);
}

.stat-card span{

    font-size:2rem;

    display:block;

    margin-bottom:10px;
}

.stat-card h3{

    color:#5E17EB;

    font-size:1.8rem;
}

.stat-card p{

    color:#666;
}

/* MENÚ */

.perfil-menu{

    display:flex;

    flex-direction:column;

    gap:15px;

    margin-bottom:20px;
}

.menu-item{

    display:flex;

    align-items:center;

    gap:15px;

    background:white;

    padding:18px;

    border-radius:20px;

    text-decoration:none;

    color:#2A1245;

    font-weight:600;

    box-shadow:
    6px 6px 0 rgba(94,23,235,.12);

    transition:.3s;
}

.menu-item:hover{

    transform:translateY(-3px);
}

.menu-item span{

    font-size:1.4rem;
}

/* MENSAJE FINAL */

.perfil-tip{

    background:#F7FF57;

    padding:20px;

    border-radius:20px;

    color:#2A1245;

    font-weight:600;

    box-shadow:
    5px 5px 0 rgba(42,18,69,.12);
}